<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../css/reset.css">
    <style>
        .list{
            padding: 20px;
            background-color: grey;
        }
        .list li{
            line-height: 45px;
            border: 1px solid #333;
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <button class="add">新增</button>
    <ul class="list">
        <li>01</li>
        <li>02</li>
        <li>03</li>
        <li>04</li>
        <li>05</li>
        <li>06</li>
    </ul>
</body>
<script>
    var add = document.getElementsByClassName("add")[0];
    var list = document.getElementsByClassName("list")[0];
    var liList = list.getElementsByTagName("li");
    console.log(liList);

    // 传统的多元素绑定事件
    // 1. 每个li都绑定了点击事件 => 而事件执行的内容都是一样的  lix6  事件x6   => 占内存
    // 2. 无法给未来生成的元素绑定事件  => 未来生成的元素(页面加载时没有生成 => 点击/ajax请求动态生成的元素)


    add.onclick = function(){
        var li = document.createElement("li");
        li.textContent = "我是新增的li";

        // 元素生成之后在绑定
        li.onclick = function(){
            var index = Array.from(liList).indexOf(this);
            console.log(this,index);
        }
        list.appendChild(li);
    }

    // 页面加载时 给现有的元素绑定一次
    for(let i = 0;i<liList.length;i++){
        let li = liList[i];
        li.onclick = function(){
            console.log(this,i);
        }
    }



</script>
</html>